﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Markup;
using Microsoft.Kinect;
using GestIT;

namespace BodyGestIT
{
    [ContentProperty()]
    public abstract class GestureLeaf : GestureComponent
    {

        internal abstract override GestIT.TmpExp InstantiateExp();

        public AcceptsDecorator Accepts { get; set; }

        public BodyFeature Feature { get; set; }

        public int UserId { get; set; }

        protected GestIT.TmpExp createLeafExpression()
        {
            SimpleTmpExp exp = new SimpleTmpExp();
            AttachEvents(exp);
            exp.Iterative = this.Iterative;
            BodyContent content = new BodyContent(Accepts);
            content.Feature = this.Feature;
            exp.Content = content;
            return exp;

        }
    }
}
